Make scrolling work if no item is selected. (gtk_cell_editable_key_press):
authorMatthias Clasen <mclasen@redhat.com>
Fri, 16 Jul 2004 21:13:21 +0000 (21:13 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Fri, 16 Jul 2004 21:13:21 +0000 (21:13 +0000)
2004-07-16  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtkcombobox.c (gtk_combo_box_scroll_event): Make
scrolling work if no item is selected.
(gtk_cell_editable_key_press): Don't eat space.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkcombobox.c

index 452243d8f22294b17b6d97a984fe5fc63ae17559..aece06a44ed5ab50002cac86392b129fc0363823 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2004-07-16  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkcombobox.c (gtk_combo_box_scroll_event): Make 
+       scrolling work if no item is selected.
+       (gtk_cell_editable_key_press): Don't eat space.
+
        Add a combo box cell renderer (#139347, Lorenzo Gil Sanchez)
        
        * gtk/gtkcellrenderercombo.[hc]: New Files.
index 452243d8f22294b17b6d97a984fe5fc63ae17559..aece06a44ed5ab50002cac86392b129fc0363823 100644 (file)
@@ -1,5 +1,9 @@
 2004-07-16  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkcombobox.c (gtk_combo_box_scroll_event): Make 
+       scrolling work if no item is selected.
+       (gtk_cell_editable_key_press): Don't eat space.
+
        Add a combo box cell renderer (#139347, Lorenzo Gil Sanchez)
        
        * gtk/gtkcellrenderercombo.[hc]: New Files.
index 452243d8f22294b17b6d97a984fe5fc63ae17559..aece06a44ed5ab50002cac86392b129fc0363823 100644 (file)
@@ -1,5 +1,9 @@
 2004-07-16  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkcombobox.c (gtk_combo_box_scroll_event): Make 
+       scrolling work if no item is selected.
+       (gtk_cell_editable_key_press): Don't eat space.
+
        Add a combo box cell renderer (#139347, Lorenzo Gil Sanchez)
        
        * gtk/gtkcellrenderercombo.[hc]: New Files.
index 452243d8f22294b17b6d97a984fe5fc63ae17559..aece06a44ed5ab50002cac86392b129fc0363823 100644 (file)
@@ -1,5 +1,9 @@
 2004-07-16  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkcombobox.c (gtk_combo_box_scroll_event): Make 
+       scrolling work if no item is selected.
+       (gtk_cell_editable_key_press): Don't eat space.
+
        Add a combo box cell renderer (#139347, Lorenzo Gil Sanchez)
        
        * gtk/gtkcellrenderercombo.[hc]: New Files.
index 8471f74f3d7cb5e20733aa92bce2e98c45d6dc8e..a98d5145fb40103d841306b60a2bbaec7a911062 100644 (file)
@@ -1886,29 +1886,26 @@ gtk_combo_box_scroll_event (GtkWidget          *widget,
     
   index = gtk_combo_box_get_active (combo_box);
 
-  if (index != -1)
+  items = gtk_tree_model_iter_n_children (combo_box->priv->model, NULL);
+  
+  if (event->direction == GDK_SCROLL_UP)
     {
-      items = gtk_tree_model_iter_n_children (combo_box->priv->model, NULL);
-      
-      if (event->direction == GDK_SCROLL_UP)
-       {
-         new_index = index - 1;
-         while (new_index >= 0 && !row_is_sensitive (combo_box, new_index))
-           new_index--;
-         if (new_index < 0)
-           new_index = index;
-       }
-      else
-       {
-         new_index = index + 1;
-         while (new_index < items && !row_is_sensitive (combo_box, new_index))
-           new_index++;
-         if (new_index == items)
-           new_index = index;
-       }
-
-      gtk_combo_box_set_active (combo_box, CLAMP (new_index, 0, items - 1));
+      new_index = index - 1;
+      while (new_index >= 0 && !row_is_sensitive (combo_box, new_index))
+       new_index--;
+      if (new_index < 0)
+       new_index = index;
     }
+  else
+    {
+      new_index = index + 1;
+      while (new_index < items && !row_is_sensitive (combo_box, new_index))
+       new_index++;
+      if (new_index == items)
+       new_index = index;
+    }
+
+  gtk_combo_box_set_active (combo_box, new_index);
 
   return TRUE;
 }
@@ -4064,11 +4061,6 @@ gtk_cell_editable_key_press (GtkWidget   *widget,
       
       return TRUE;
     }
-  else if (event->keyval == GDK_space)
-    {
-      /* ignore */
-      return TRUE;
-    }
 
   return FALSE;
 }